// 初始化AV
require('utils/init.js');
var Bmob = require('utils/bmob.js');

App({
  onLaunch: function () {
    var that = this;
    that.login();
    // 设备信息
    wx.getSystemInfo({
      success: function (res) {
        that.screenWidth = res.windowWidth;
        that.screenHeight = res.windowHeight;
        that.pixelRatio = res.pixelRatio;
      }
    });
  },
  auth: function () {
    // 管理员认证
    if (!wx.getStorageSync('isAdmin')) {
      wx.switchTab({
        url: '../../shop/index/index'
      });
    }
  },
  checkSession: function () {

    wx.checkSession({
      success: function () {

      },
      fail: function () {
        that.login();
      }
    })

  },
  getSetting: function () {
    wx.getSetting({
      success(res) {
        if (!res.authSetting['scope.userInfo']) {
          wx.authorize({
            scope: 'scope.userInfo',
            success() {
              // 用户已经同意小程序使用录音功能，后续调用 wx.startRecord 接口不会弹窗询问
              wx.startRecord()
            }
          })
        }
      }
    })
  },
  // 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.record" 这个 scope
  
  getUserInfo: function () {
    wx.getUserInfo({
      success: function (res) {
        var userInfo = res.userInfo
        var nickName = userInfo.nickName
        var avatarUrl = userInfo.avatarUrl
        var gender = userInfo.gender //性别 0：未知、1：男、2：女
        var province = userInfo.province
        var city = userInfo.city
        var country = userInfo.country
      }
    })
  
  },
  login: function () {
    // 用户登录
    // var user =	new Bmob.User;
    // if (Bmob.User.current()) {
    // 	return;
    // }
    wx.login({
      success: function (res) {
        var weixincode = res.code;
        // wx.request({
        //   url: 'https://api.it120.cc/eebf2a888edcdcd08e662846c27ab59c/user/wxapp/register/simple', //
        //   data: {
        //     code: weixincode,
        //     type: 2
        //   },
        //   header: {
        //     'content-type': 'application/json' // 默认值
        //   },
        //   success: function (res) {
        //     var data = res.data.data;
        //   }
        // });

        wx.request({
          url: 'https://api.it120.cc/eebf2a888edcdcd08e662846c27ab59c/user/wxapp/login', //
          data: {
            code: weixincode,
            type:2
          },
          header: {
            'content-type': 'application/json' // 默认值
          },
          success: function (res) {
            var data = res.data.data;
            that.setData({
              uid: data.uid,
              token: data.token,
            });
            // wx.setStorageSync('own', data.uid);
            wx.getUserInfo({
              success: function (result) {
                var userInfo = result.userInfo;
                var nickName = userInfo.nickName;
                var avatarUrl = userInfo.avatarUrl;
                var u = Bmob.Object.extend("_User");
                var query = new Bmob.Query(u);
              }

            })



          }
        });
        // 		user.loginWithWeapp(res.code).then(function (user) {
        // 			var openid = user.get("authData").weapp.openid;
        // 			wx.setStorageSync('openid', openid)
        // 			wx.setStorageSync('isAdmin', user.get('isAdmin'));
        // 			var u = Bmob.Object.extend("_User");
        // 			var query = new Bmob.Query(u);
        // 			query.get(user.id, {
        // 				success: function (result) {
        // 					wx.setStorageSync('own', result.get("uid"));
        // 				},
        // 				error: function (result, error) {
        // 					console.log("查询失败");
        // 				}
        // 			});
        // 	//保存用户其他信息，比如昵称头像之类的
        // 	wx.getUserInfo({
        // 		success: function (result) {

        // 			var userInfo = result.userInfo;
        // 			var nickName = userInfo.nickName;
        // 			var avatarUrl = userInfo.avatarUrl;



        // 			var u = Bmob.Object.extend("_User");
        // 			var query = new Bmob.Query(u);
        // 		// 这个 id 是要修改条目的 id，你在生成这个存储并成功时可以获取到，请看前面的文档
        // 		query.get(user.id, {
        // 			success: function (result) {
        // 			// 自动绑定之前的账号
        // 			result.set('userInfo', {
        // 				nickname: nickName,
        // 				avatar: avatarUrl
        // 			});
        // 			// result.set('nickName', nickName);
        // 			// result.set("userPic", avatarUrl);
        // 			// result.set("openid", openid);
        // 			result.save();

        // 		}
        // 	});

        // 	}
        // });
        // }, function (err) {
        // 	console.log(err, 'errr');
        // });
      }
    });
  },
  loadSeller: function (cb) {
    // var query = new Bmob.Query('Seller');
    // query.find().then(function (sellerObjects) {
    // 	var seller = sellerObjects[0];
    // 	cb(seller);
    // });


    wx.request({
      url: 'https://api.it120.cc/eebf2a888edcdcd08e662846c27ab59c/shop/subshop/detail', //
      data: {
        id: 340
      },
      header: {
        'content-type': 'application/json' // 默认值
      },
      success: function (res) {
        var seller = res.data.data;
        seller.min_amount = 10;
        seller.express_fee = 5;
        that.setData({
          seller: seller,
        });

      }
    });

  },

  payment: function (order) {
    // 微信支付
    var openId = Bmob.User.current().get('authData').weapp.openid;
    console.log('openId:', openId);
    //传参数金额，名称，描述,openid
    Bmob.Pay.wechatPay(order.get('total'), '灵犀外卖', '订餐', openId).then(function (resp) {
      console.log('resp');
      console.log(resp);
      //服务端返回成功
      var timeStamp = resp.timestamp,
        nonceStr = resp.noncestr,
        packages = resp.package,
        orderId = resp.out_trade_no,//订单号，如需保存请建表保存。
        sign = resp.sign;
      //打印订单号
      console.log(orderId);
      //发起支付
      wx.requestPayment({
        'timeStamp': timeStamp,
        'nonceStr': nonceStr,
        'package': packages,
        'signType': 'MD5',
        'paySign': sign,
        'success': function (res) {
          //付款成功,这里可以写你的业务代码
          console.log(res);
          // 写入订单号，更新订单状态
          order.set('sn', orderId);
          order.set('status', 1);
          order.save().then(function () {
            wx.showModal({
              title: '支付成功',
              showCancel: false,
              success: function () {
                // 跳转订单详情页
                wx.navigateTo({
                  url: '/order/detail/detail?objectId=' + order.id
                });
              }
            });
          }, function (res) {
            console.log(res);
            wx.showModal({
              title: '更新订单失败'
            });
          });
        },
        'fail': function (err) {
          console.log('err', err);
          wx.showModal({
            title: '支付取消',
            showCancel: false,
            success: function () {
              wx.navigateTo({
                url: '/order/detail/detail?objectId=' + order.id
              });
            }
          });
        }
      })
    }, function (err) {
      console.log('服务端返回失败');
      console.log(err.message);
      console.log(err);
    });
  }
})



// 商家表 Seller
// title	String	店名
// logo_url	String	头像
// telephone	String	联系电话
// address	String	地址
// notice	String	公告
// business_start	String	开始营业时间
// business_end	String	结束营业时间
// express_fee	Number	配送费
// min_amount	Number	起送金额

// 2.分类表 Category
// 字段名	类型	注释
// title	String	店名
// priority	Number	优先级（越小越前）


// 3.菜品表 Food
// 字段名	类型	注释
// title	String	店名
// thumb_url	String	主图
// summary	String	简述
// price	Number	价格
// category	Pointer	Cateogry分类表
// priority	Number	优先级（越小越前）

// 4.地址表 Address
// 字段名	类型	注释
// realname	String	姓名
// gender	Number	1先生 0女士
// mobile	String	手机
// area	String	区域
// detail	String	详细地址
// user	Pointer	关联用户


// 5.订单表 Order
// 字段名	类型	注释
// user	Pointer	下单人
// title	String	摘要
// quantity	Number	购买数量
// address	Pointer	地址
// express_fee	Number	配送费
// amount	Number	餐费
// total	Number	总计
// status	Number	状态（0，待付款；1，已付款；2，派送中；-1，已取消）
// detail	Array	清单
// sn	String	订单号


// 6.用户表
// 字段名	类型	注释
// isAdmin	Bool	true代表此用户为管理员
// userInfo	Object	用户昵称头像等
// authData	Object	Bｍob维护的用户openid等信息